package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.TrainStation;

/**
 * 火车车站Mapper接口
 * 
 * @author ruoyi
 * @date 2025-03-06
 */
public interface TrainStationMapper 
{
    /**
     * 查询火车车站
     * 
     * @param id 火车车站主键
     * @return 火车车站
     */
    public TrainStation selectTrainStationById(Long id);

    /**
     * 查询火车车站列表
     * 
     * @param trainStation 火车车站
     * @return 火车车站集合
     */
    public List<TrainStation> selectTrainStationList(TrainStation trainStation);

    /**
     * 新增火车车站
     * 
     * @param trainStation 火车车站
     * @return 结果
     */
    public int insertTrainStation(TrainStation trainStation);

    /**
     * 修改火车车站
     * 
     * @param trainStation 火车车站
     * @return 结果
     */
    public int updateTrainStation(TrainStation trainStation);

    /**
     * 删除火车车站
     * 
     * @param id 火车车站主键
     * @return 结果
     */
    public int deleteTrainStationById(Long id);

    /**
     * 批量删除火车车站
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTrainStationByIds(Long[] ids);

    /**
     * 批量新增火车车站
     * @param trainStationList
     * @return 结果
     */
    public int InsertTrainStations(List<TrainStation> trainStationList);

    /**
     * 查询不同的车次编号
     *
     * @param trainStation 查询参数
     * @return 车次编号列表
     */
    List<String> selectDistinctTrainCodes(TrainStation trainStation);

    /**
     * 根据车次编号列表查询车站
     *
     * @param trainStation 包含车次编号列表的查询参数
     * @return 车站列表
     */
    List<TrainStation> selectTrainStationsByTrainCodes(TrainStation trainStation);

    /**
     * 清空火车站点数据
     * 
     * @return 结果
     */
    public int clearTrainStation();
}
